package org.wu.framework.lazy.orm.database.jpa.repository.query;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class DefaultLazyParameters extends LazyParameters {
    private final List<LazyParameter> parameters = new ArrayList<>();

    /**
     * Returns an iterator over elements of type {@code T}.
     *
     * @return an Iterator.
     */
    @Override
    public Iterator<LazyParameter> iterator() {
        return parameters.stream().iterator();
    }

    /**
     * 新增参数
     *
     * @param lazyParameter 参数
     * @return
     */
    @Override
    LazyParameters addParameter(LazyParameter lazyParameter) {
        parameters.add(lazyParameter);
        return this;
    }

    /**
     * 新增参数
     *
     * @param name  参数名称
     * @param value 参数值
     * @return LazyParameters
     */
    @Override
    LazyParameters addParameter(String name, Object value) {
        return addParameter(new DefaultLazyParameter(name, value));
    }
}
